home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / gnu / glibc108.gz / glibc108 / glibc-1.08.1 / sunrpc / rpc_util.h < prev    next >
C/C++ Source or Header  |  1994-02-09  |  3KB  |  115 lines

  1. /* @(#)rpc_util.h    2.1 88/08/01 4.0 RPCSRC */
  2. /*
  3.  * Sun RPC is a product of Sun Microsystems, Inc. and is provided for
  4.  * unrestricted use provided that this legend is included on all tape
  5.  * media and as a part of the software program in whole or part.  Users
  6.  * may copy or modify Sun RPC without charge, but are not authorized
  7.  * to license or distribute it to anyone else except as part of a product or
  8.  * program developed by the user.
  9.  * 
  10.  * SUN RPC IS PROVIDED AS IS WITH NO WARRANTIES OF ANY KIND INCLUDING THE
  11.  * WARRANTIES OF DESIGN, MERCHANTIBILITY AND FITNESS FOR A PARTICULAR
  12.  * PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE OR TRADE PRACTICE.
  13.  * 
  14.  * Sun RPC is provided with no support and without any obligation on the
  15.  * part of Sun Microsystems, Inc. to assist in its use, correction,
  16.  * modification or enhancement.
  17.  * 
  18.  * SUN MICROSYSTEMS, INC. SHALL HAVE NO LIABILITY WITH RESPECT TO THE
  19.  * INFRINGEMENT OF COPYRIGHTS, TRADE SECRETS OR ANY PATENTS BY SUN RPC
  20.  * OR ANY PART THEREOF.
  21.  * 
  22.  * In no event will Sun Microsystems, Inc. be liable for any lost revenue
  23.  * or profits or other special, indirect and consequential damages, even if
  24.  * Sun has been advised of the possibility of such damages.
  25.  * 
  26.  * Sun Microsystems, Inc.
  27.  * 2550 Garcia Avenue
  28.  * Mountain View, California  94043
  29.  */
  30. /* @(#)rpc_util.h 1.6 87/06/24 (C) 1987 SMI */
  31.  
  32. /*
  33.  * rpc_util.h, Useful definitions for the RPC protocol compiler 
  34.  * Copyright (C) 1987, Sun Microsystems, Inc. 
  35.  */
  36. extern char *malloc();
  37.  
  38. #define alloc(size)        malloc((unsigned)(size))
  39. #define ALLOC(object)   (object *) malloc(sizeof(object))
  40.  
  41. /* extern char *sprintf(); --roland@gnu */
  42.  
  43. #define s_print    (void) sprintf
  44. #define f_print (void) fprintf
  45.  
  46. struct list {
  47.     char *val;
  48.     struct list *next;
  49. };
  50. typedef struct list list;
  51.  
  52. /*
  53.  * Global variables 
  54.  */
  55. #define MAXLINESIZE 1024
  56. extern char curline[MAXLINESIZE];
  57. extern char *where;
  58. extern int linenum;
  59.  
  60. extern char *infilename;
  61. extern FILE *fout;
  62. extern FILE *fin;
  63.  
  64. extern list *defined;
  65.  
  66. /*
  67.  * rpc_util routines 
  68.  */
  69. void storeval();
  70.  
  71. #define STOREVAL(list,item)    \
  72.     storeval(list,(char *)item)
  73.  
  74. char *findval();
  75.  
  76. #define FINDVAL(list,item,finder) \
  77.     findval(list, (char *) item, finder)
  78.  
  79. char *fixtype();
  80. char *stringfix();
  81. void pvname();
  82. void ptype();
  83. int isvectordef();
  84. int streq();
  85. void error();
  86. void expected1();
  87. void expected2();
  88. void expected3();
  89. void tabify();
  90. void record_open();
  91.  
  92. /*
  93.  * rpc_cout routines 
  94.  */
  95. void cprint();
  96. void emit();
  97.  
  98. /*
  99.  * rpc_hout routines 
  100.  */
  101. void print_datadef();
  102.  
  103. /*
  104.  * rpc_svcout routines 
  105.  */
  106. void write_most();
  107. void write_register();
  108. void write_rest();
  109. void write_programs();
  110.  
  111. /*
  112.  * rpc_clntout routines
  113.  */
  114. void write_stubs();
  115.